package cn.shengongying.model;

import cn.shengongying.bean.BaseModal;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 雇主订单信息
 * </p>
 *
 * @author RXK
 * @since 2022-01-05
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class BossOrder extends BaseModal {

    private static final long serialVersionUID = 1L;

    /**
     * 雇主id
     */
    private Long userId;

    /**
     * 订单类型(0:招聘)
     */
    private Integer type;

    /**
     * 状态(0:待支付;1:支付成功;2:支付失败;3:申请退款;4:退款成功;5:退款失败)
     */
    private Integer status;

    /**
     * 支付方式(0:微信;1:支付宝)
     */
    private Integer payType;

    private BigDecimal totalAmount;

    /**
     * 实际支付金额
     */
    private BigDecimal actualAmount;

    /**
     * 优惠券优惠金额
     */
    private BigDecimal discountAmount;

    /**
     * 优惠券id
     */
    private Long discountId;

    /**
     * 基础服务费用
     */
    private BigDecimal serviceCharge;

    /**
     * 数量
     */
    private Integer number;

    /**
     * 当前连续的流水号
     */
    private String serialNumber;

    private String orderNo;

    /**
     * 第三方支付的id
     */
    private String transactionId;

    /**
     * 关联id(职位id)
     */
    private Long extId;

    /**
     * 支付成功时间
     */
    private Date paySuccessTime;

    private String refundOrderNo;

    /**
     * 退款id
     */
    private String refundId;

    /**
     * 退款金额
     */
    private BigDecimal refundAmount;

    /**
     * 申请退款时间
     */
    private Date applyRefundTime;

    /**
     * 退款成功时间
     */
    private Date refundSuccessTime;

    private Integer delete;

    private Integer invoiceStatus;

    /**
     * 发票抬头
     */
    private String invoiceTitle;

    /**
     * 税号
     */
    private String taxNo;

    /**
     * 联系号码
     */
    private String mobile;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 备注
     */
    private String remark;

    private String positionName;

    private Integer memberNumber;

    private Date applyInvoiceTime;

}
